Systems and methods for synchronization mechanisms for magnetic cards and devices

ABSTRACT

A processor of a card may detect variations (e.g., position, velocity, acceleration and direction) of a read head in relation to the card. Based on certain parameters (e.g., card length, initially detected read head position, and read head velocity) a processor of a card may adjust synchronization bit patterns that may synchronize communications between the card and a read head of a magnetic stripe reader. A processor of a card may generate a number of leading synchronization bits that is different than a number of trailing synchronization bits.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional PatentApplication No. 61/562,251, titled “SYSTEMS AND METHODS FORSYNCHRONIZATION MECHANISMS FOR MAGNETIC CARDS AND DEVICES,” filed Nov.21, 2011, which is hereby incorporated by reference herein in itsentirety.

BACKGROUND OF THE INVENTION

This invention relates to magnetic cards and devices and relatedsystems.

SUMMARY OF THE INVENTION

A card may include a dynamic magnetic communications device, which maytake the form of a magnetic encoder or a magnetic emulator. A magneticencoder, for example, may be utilized to modify information that islocated on a magnetic medium, such that a magnetic stripe reader maythen be utilized to read the modified magnetic information from themagnetic medium. A magnetic emulator, for example, may be provided togenerate electromagnetic fields that directly communicate data to aread-head of a magnetic stripe reader. A magnetic emulator, for example,may communicate data serially to a read-head of the magnetic stripereader. A magnetic emulator, for example, may communicate data inparallel to a read-head of the magnetic stripe reader.

All, or substantially all, of the front surface, as well as the rearsurface, of a card may be implemented as a display (e.g., bi-stable, nonbi-stable, LCD, or electrochromic display). Electrodes of a display maybe coupled to one or more touch sensors, such that a display may besensitive to touch (e.g., using a finger or a pointing device) and maybe further sensitive to a location of the touch. The display may besensitive, for example, to objects that come within a proximity of thedisplay without actually touching the display.

A dynamic magnetic stripe communications device may be implemented on amultiple layer board (e.g., a two-layer flexible printed circuit board).A coil for each track of information that is to be communicated by thedynamic magnetic stripe communications device may then be provided byincluding wire segments on each layer and interconnecting the wiresegments through layer interconnections to create a coil. For example, adynamic magnetic stripe communications device may include two coils suchthat two tracks of information may be communicated to two differentread-heads included in a read-head housing of a magnetic stripe reader.A dynamic magnetic stripe communications device may include, forexample, three coils such that three tracks of information may becommunicated to three different read-heads included in a read-headhousing of a magnetic stripe reader.

Input and/or output devices may be included on a card, for example, tofacilitate data exchange with the card. For example, an integratedcircuit (IC) may be included on a card and exposed from the surface ofthe card. Such a chip (e.g., an EMV chip) may communicate information toa chip reader (e.g., an EMV chip reader). An RFID antenna or module maybe included on a card, for example, to send and/or receive informationbetween an RFID writer/reader and the RFID included on the card.

One or more detectors may be provided in a card, for example, to sensethe presence of an external object, such as a person or device, which inturn, may trigger the initiation of a communication sequence with theexternal object. The sensed presence of the external object may then becommunicated to a processor of the card, which in turn may direct theexchange of information between a card and the external object.Accordingly, timing aspects of the information exchange between anexternal object and the various I/O devices provided on a card may alsobe determined by circuitry (e.g., a processor) provided on a card.

The sensed presence of the external object or device may include thetype of object or device that is detected and, therefore, may thendetermine the type of communication that is to be used with the detectedobject or device. For example, a detected object may include adetermination that the object is a read-head housing of a magneticstripe reader. Such an identifying detection, for example, may activatea dynamic magnetic stripe communications device so that information maybe communicated to the read-head of the magnetic stripe reader.Information may be communicated by a dynamic magnetic stripecommunications device, for example, by re-writing magnetic informationon a magnetic medium that is able to be read by a magnetic stripe readeror electromagnetically communicating data to the magnetic stripe reader.

One or more read-head detectors, for example, may be provided on a card.The one or more read-head detectors may be provided as, for example,conductive pads that may be arranged along a length of a card having avariety of shapes. A property (e.g., a capacitance magnitude) of one ormore of the conductive pads may, for example, change in response tocontact with and/or the presence of an object. A card may be laminatedsuch that all electronic circuitry and components (e.g., read-headdetectors) are covered in a polymer. For example, an electronics packagemay be provided between two layers of polymer and a liquid polymer maybe introduced between these layers and hardened to form a card.

A card may, for example, be swiped across a read-head of a magneticstripe reader, such that a series of conductive pads arranged along alength of the card may be used to sequentially detect the presence ofthe read-head as the read-head moves in relation to the card. In doingso, a series of detections (e.g., the capacitance magnitude of eachconductive pad may increase and/or decrease) may be generated, which maybe indicative of a direction of a card swipe and/or a velocity of a cardswipe and/or an acceleration of a card swipe. Changes in the velocityand/or acceleration of a card swipe during a card swipe may be detectedby read-head detectors. Such information may be provided to circuitry(e.g., a processor) so that the information may be utilized to changethe control of a dynamic magnetic stripe communications device. Adynamic magnetic stripe communications device may include, for example,multiple communication tracks such that multiple tracks of data may becommunicated to a magnetic stripe reader.

A processor, or other circuitry, of a card may, for example, utilize adetection mechanism to determine a position of a read-head in relationto the card. Accordingly, a processor of a card may determine, forexample, a relative position of a read head at the instant the read headis detected. Additionally, a processor of a card may determine, forexample, a relative speed at which a read head may be moving across acard. In so doing, a processor of a card may determine an amount of timethat the read head may remain over the card.

For example, a card length may, for example, be approximately 3.375inches. The thickness of a card may be between, for example,approximately 27 to 33 thousandths of an inch thick (e.g., approximately30-33 thousandths of an inch thick). By detecting a relative position ofa read head and a relative velocity of the read head, for example, aprocessor of a card may determine a length of time that the read headmay remain within a communication distance of the card.

A dynamic magnetic stripe communications device of a card may, forexample, communicate a particular amount of data to a read head of amagnetic stripe reader. In addition, a dynamic magnetic stripecommunications device of a card may communicate that amount of dataserially to the read head. Multiple tracks of information may becommunicated simultaneously to different read-heads of a read-headhousing and each track of information may be communicated serially.Different tracks of information may be communicated to a read-head atdifferent times with at least a portion of the information for eachtrack being communicated simultaneously. Accordingly, for example,circuitry (e.g., a processor) of a card may determine a number ofleading and/or trailing data bits (e.g., zero valued data bits) that maybe necessary to communicate to a magnetic stripe reader to allow themagnetic stripe reader to synchronize with the information communicatedby the processor of a card.

A processor of a card may, for example, initiate a serial communicationusing a predetermined number of leading data bits (e.g., leading zeros)to allow a magnetic stripe reader to determine a presence of the card. Aprocessor of a card may, for example, initiate a serial communicationusing a predetermined number of leading zeros to allow a magnetic stripereader to synchronize to track data that may be communicated by aprocessor of the card. The predetermined number of leading zeros may,for example, be determined by a processor of a card once the type ofmagnetic stripe reader is detected by the processor. Some magneticstripe readers may, for example, require more or less leading zeros thanother magnetic stripe readers in order to synchronize communicationswith a card.

Accordingly, for example, a magnetic stripe reader may detect a seriesof leading zeroes from a card so as to determine a bit rate and/or a bitperiod of data being communicated by the card. A processor of a cardmay, for example, determine a minimum number of leading and/or trailingzeroes that may be necessary to synchronize with the magnetic stripereader. A processor of a card may, for example, determine a minimumnumber of leading and/or trailing zeroes to communicate to a magneticstripe reader to minimize an amount of power required to communicate theleading and/or trailing zeroes to the magnetic stripe reader.

A processor of a card may, for example, conclude a serial communicationusing a predetermined number of data bits (e.g., trailing zeroes) toallow a magnetic stripe reader to determine that track data is no longerbeing communicated by a processor of a card. A processor of a card may,for example, provide a number of leading zeroes that is different (e.g.,greater than) a number of trailing zeroes. A processor of a card mayvary a number of leading and/or trailing zeros (e.g., may increase anumber of leading zeros) if communication between a card and a magneticstripe reader fails. Accordingly, for example, a processor of a card mayincrease a number of leading zeros in an attempt to increase aprobability that communication may be successful on a subsequentcommunication attempt.

BRIEF DESCRIPTION OF THE DRAWINGS

The principles and advantages of the present invention can be moreclearly understood from the following detailed description considered inconjunction with the following drawings, in which the same referencenumerals denote the same structural elements throughout, and in which:

FIG. 1 is an illustration of a card constructed in accordance with theprinciples of the present invention;

FIG. 2 is an illustration of a card constructed in accordance with theprinciples of the present invention;

FIG. 3 is an illustration of circuitry, and associated waveforms,constructed in accordance with the principles of the present invention;

FIG. 4 is an illustration of a synchronization waveform constructed inaccordance with the principles of the present invention;

FIG. 5 is an illustration of a synchronization waveform constructed inaccordance with the principles of the present invention; and

FIG. 6 is an illustration of process flow charts constructed inaccordance with the principles of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows card 100 that may include, for example, a dynamic numberthat may be entirely, or partially, displayed using a display (e.g.,display 106). A dynamic number may include a permanent portion such as,for example, permanent portion 104 and a dynamic portion such as, forexample, dynamic portion 106. Card 100 may include a dynamic numberhaving permanent portion 104 and permanent portion 104 may beincorporated on card 100 so as to be visible to an observer of card 100.For example, labeling techniques, such as printing, embossing, laseretching, etc., may be utilized to visibly implement permanent portion104.

Card 100 may include a second dynamic number that may be entirely, orpartially, displayed via a second display (e.g., display 108). Display108 may be utilized, for example, to display a dynamic code such as adynamic security code. Card 100 may also include third display 122 thatmay be used to display graphical information, such as logos andbarcodes. Third display 122 may also be utilized to display multiplerows and/or columns of textual and/or graphical information.

Persons skilled in the art will appreciate that any one or more ofdisplays 106, 108, and/or 122 may be implemented as a bi-stable display.For example, information provided on displays 106, 108, and/or 122 maybe stable in at least two different states (e.g., a powered-on state anda powered-off state). Any one or more of displays 106, 108, and/or 122may be implemented as a non-bi-stable display. For example, the displayis stable in response to operational power that is applied to thenon-bi-stable display. Other display types, such as LCD orelectro-chromic, may be provided as well.

Other permanent information, such as permanent information 120, may beincluded within card 100, which may include user specific information,such as the cardholder's name or username. Permanent information 120may, for example, include information that is specific to card 100(e.g., a card issue date and/or a card expiration date). Information 120may represent, for example, information that includes information thatis both specific to the cardholder, as well as information that isspecific to card 100.

Card 100 may accept user input data via any one or more data inputdevices, such as buttons 110-118. Buttons 110-118 may be included toaccept data entry through mechanical distortion, contact, or proximity.Buttons 110-118 may be responsive to, for example, induced changesand/or deviations in light intensity, pressure magnitude, or electricand/or magnetic field strength.

FIG. 1 shows architecture 150, which may include one or more processors154. One or more processors 154 may be configured to utilize externalmemory 152, internal memory of processor 154, or a combination ofexternal memory 152 and internal memory for dynamically storinginformation, such as executable machine language, related dynamicmachine data, synchronization data, and user input data values. Drivingcircuitry 164 may, for example, receive synchronization data fromprocessor 154 and may communicate the synchronization data to providecommunication synchronization between a card (e.g., card 100 of FIG. 1)and a magnetic stripe reader. Such synchronization data may, forexample, be stored in memory 152 and may be utilized by processor 154 toprovide various synchronization patterns to a magnetic stripe reader.

One or more of the components shown in architecture 150 may beconfigured to transmit information to processor 154 and/or may beconfigured to receive information as transmitted by processor 154. Forexample, one or more displays 156 may be coupled to receive data fromprocessor 154. The data received from processor 154 may include, forexample, at least a portion of dynamic numbers and/or dynamic codes.

One or more displays 156 may be, for example, touch sensitive and/orproximity sensitive. For example, objects such as fingers, pointingdevices, etc., may be brought into contact with displays 156, or inproximity to displays 156. Detection of object proximity or objectcontact with displays 156 may be effective to perform any type offunction (e.g., transmit data to processor 154). Displays 156 may havemultiple locations that are able to be determined as being touched, ordetermined as being in proximity to an object.

Input and/or output devices may be implemented on architecture 150. Forexample, integrated circuit (IC) chip 160 (e.g., an EMV chip) may beincluded within architecture 150, that may communicate information to achip reader (e.g., an EMV chip reader). Radio frequency identification(RFID) module 162 may be included within architecture 150 to enable theexchange of information with an RFID reader/writer.

Other input and/or output devices 168 may be included withinarchitecture 150, for example, to provide any number of input and/oroutput capabilities. For example, other input and/or output devices 168may include an audio device capable of receiving and/or transmittingaudible information.

Other input and/or output devices 168 may include a device thatexchanges analog and/or digital data using a visible data carrier. Otherinput and/or output devices 168 may include a device, for example, thatis sensitive to a non-visible data carrier, such as an infrared datacarrier or an electromagnetic data carrier.

Persons skilled in the art will appreciate that a card (e.g., card 100of FIG. 1) may, for example, be a self-contained device that derives itsown operational power from one or more batteries 158. Furthermore, oneor more batteries 158 may be included, for example, to provideoperational power for a period of time (e.g., approximately 2-4 years).One or more batteries 158 may be included, for example, as rechargeablebatteries.

Electromagnetic field generators 170-174 may be included withinarchitecture 150 to communicate information to, for example, a read-headof a magnetic stripe reader via, for example, electromagnetic signals.For example, electromagnetic field generators 170-174 may be included tocommunicate one or more tracks of electromagnetic data to read-heads ofa magnetic stripe reader. Electromagnetic field generators 170-174 mayinclude, for example, a series of electromagnetic elements, where eachelectromagnetic element may be implemented as a coil wrapped around oneor more materials (e.g., a magnetic material and/or a non-magneticmaterial). Additional materials (e.g., a magnetic material and/or anon-magnetic material) may be placed outside the coil.

Electrical excitation by processor 154 of one or more coils of one ormore electromagnetic elements via, for example, driving circuitry 164may be effective to generate electromagnetic fields from one or moreelectromagnetic elements. One or more electromagnetic field generators170-174 may be utilized to communicate electromagnetic information to,for example, one or more read-heads of a magnetic stripe reader.

Timing aspects of information exchange between architecture 150 and thevarious I/O devices implemented within architecture 150 may bedetermined by processor 154. Detector 166 may be utilized, for example,to sense the proximity and/or actual contact, of an external device,which in turn, may trigger the initiation of a communication sequence.The sensed presence and/or touch of the external device may then becommunicated to a controller (e.g., processor 154), which in turn maydirect the exchange of information between architecture 150 and theexternal device. The sensed presence and/or touch of the external devicemay be effective to, for example, determine the type of device or objectdetected.

For example, the detection may include the detection of, for example, aread-head of a magnetic stripe reader. In response, processor 154 mayactivate one or more electromagnetic field generators 170-174 toinitiate a communications sequence with, for example, one or moreread-heads of a magnetic stripe reader. The timing relationshipsassociated with communications between one or more electromagnetic fieldgenerators 170-174 and one or more read-heads of a magnetic stripereader may be provided through use of the detection of the magneticstripe reader.

The detection may, for example, include a detection of a read head andits location and/or speed and/or acceleration relative to various areasof a card (e.g., card 100 of FIG. 1). For example, detector 166 mayfirst detect a presence of a read head close to an edge of a card.Detector 166 may, for example, detect a read head and its velocityand/or changes in velocity relative to a card to determine an amount oftime that a read head may remain within a communication distance fromthe card.

Processor 154 may receive location and/or speed and/or accelerationinformation from detector 166. Processor 154 may determine locationand/or speed and/or acceleration information based on informationreceived from detector 166. For example, detector 166 may includeseveral (e.g., approximately 10 to 20) capacitive sensors and processor154 may determine location and/or speed and/or acceleration informationbased on information received from these capacitive sensors. Forexample, processor 154 may receive location and/or speed and/oracceleration information associated with a read head that may be in aproximity or touch relationship with a card. Processor 154 may, forexample, use such location and/or speed and/or acceleration informationto control driving circuitry 164. Driving circuitry 164 may, forexample, receive synchronization data from a synchronization processorto provide an optimum number (e.g., a minimum number) of leading and/ortrailing zeroes in a communication sequence. In so doing, for example,the synchronization controller may provide a synchronization sequence toa magnetic stripe reader such that the magnetic stripe reader maysynchronize to a bit rate and/or bit period of track data received froma card (e.g., card 100 of FIG. 1).

Persons skilled in the art will appreciate that processor 154 mayprovide user-specific and/or card-specific information throughutilization of any one or more of buttons 110-118, RFID 162, IC chip160, electromagnetic field generators 170-174, and other input and/oroutput devices 168.

FIG. 2 shows card 200 having an orientation of detectors 226, wherebyone or more detectors 202-216 may be, for example, arranged along alength of card 200. Detectors 202-216 may be included, for example, asconductive pads using, for example, an additive technique, wherebypatterns of a conductive element (e.g., copper) may be applied to a PCBsubstrate according to a patterning mask definition layer. Detectors202-216 may be included, for example, as conductive pads using, forexample, a subtractive technique whereby patterns of a conductiveelement (e.g., copper) may be removed from a pre-plated PCB substrateaccording to an etching mask definition layer. Other non-PCB fabricationtechniques may be used to implement conductive pads 202-216 as may berequired by a particular application.

Synchronization controller 220 may be utilized in conjunction withconductive pads 202-216 to detect a location of an object (e.g., a readhead of a magnetic card reader) in relation to conductive pads 202-216.In addition, by monitoring a characteristic change (e.g., a capacitancechange) associated with one or more conductive pads 202-216 and bycomparing a characteristic change of neighboring conductive pads, aposition and/or velocity and/or acceleration estimate of an objectmoving in relation to conductive pads 202-216 may be obtained.

Synchronization controller 220 may calculate position and/or velocityand/or acceleration estimates that may be based on characteristicinformation. A position estimate, for example, may include anapproximation of an initial location of a read head of a magnetic cardreader that may be in proximity to, or in contact with, one or more ofpads 202-216 as initially detected. A velocity estimate, for example,may include an approximation of a change in position of the read head asit moves across card 200 in either of directions 222 and/or 224. Anacceleration estimate, for example, may include an approximation of achange in velocity of the read head as it moves across card 200 ineither of directions 222 and/or 224.

Based upon position and/or velocity and/or acceleration estimates,synchronization controller 220 may estimate an amount of time that adetected read head may remain within a communication distance of card200. In so doing, synchronization controller 220 may, for example,adjust an amount of synchronization information that may be communicatedby dynamic magnetic stripe communication device 228. Accordingly, forexample, an optimal amount of synchronization data that may be requiredby a read head of a magnetic card reader to synchronize to card 200 maybe provided by synchronization controller 220. An amount of initialsynchronization data (e.g., a number of leading zeroes) may be selectedthat is the same or different (e.g., greater) than an amount of finalsynchronization data (e.g., a number of trailing zeroes).

FIG. 3 shows a synchronization system that may be included on a card. Aconductive pad may be utilized, for example, as a conductor of acapacitive device within a resistor/capacitor (RC) circuit to determinethe capacitance of a conductive pad and determine whether it is below,equal to, or above one or more predetermined thresholds.

A conductive pad may, for example, form a portion of a capacitiveelement, such that plate 316 of capacitive element 314 may beimplemented by a pad and the second plate of capacitive element 314 maybe implemented by element 310. Element 310 may represent, for example,the device or object whose proximity or contact is sought to bedetected.

The capacitance magnitude of capacitive element 314 may exhibit, forexample, an inversely proportional relationship to the distanceseparation between plate 316 and object 310. For example, thecapacitance magnitude of capacitive element 314 may be relatively lowwhen the corresponding distance between plate 316 and object 310 may berelatively large. The capacitance magnitude of capacitive element 314may be relatively large, for example, when the corresponding distancebetween plate 316 and object 310 may be relatively small.

Detection of the proximity or contact of an object may be accomplished,for example, via circuit 300 of FIG. 3. Through a sequence of chargingand discharging events, an average capacitance magnitude for capacitiveelement 314 may be determined over time. In so doing, the spatialrelationship (e.g., the proximity) between plate 316 and object 310 maybe determined.

Charge sequence 350 may, for example, be invoked, such that chargecircuit 304 may be activated at time T1, while discharge circuit 306 mayremain deactivated. Accordingly, for example, current may flow throughresistive element 308. In doing so, for example, an electrostatic fieldmay be generated that may be associated with capacitive component 314.During the charge sequence, for example, the voltage at node 312 may bemonitored by synchronization controller 318 to determine the amount oftime required (e.g., T_(CHARGE)=Δ1−T1) for the voltage at node 312,V₃₁₂, to obtain a magnitude that is substantially equal to, below, orabove a first threshold voltage (e.g., equal to V1).

Discharge sequence 360, for example, may be invoked, such that dischargecircuit 306 may be activated at time T2, while charge circuit 304 mayremain deactivated. During the discharge sequence, for example, theelectric field associated with capacitive element 314 may be allowed todischarge through resistive element 308 to a reference potential (e.g.,ground potential). The voltage at node 312 may be monitored bysynchronization controller 318 to determine the amount of time required(e.g., T_(DISCHARGE)=Δ2−T2) for the voltage at node 312, V₃₁₂, to obtaina magnitude that is substantially equal to, below, or above a secondthreshold voltage (e.g., equal to V2).

Once the charge time, T_(CHARGE), and discharge time, T_(DISCHARGE), aredetermined, the charge and discharge times may be utilized to calculatea capacitance magnitude that may be exhibited by capacitive element 314.For example, given that the magnitude of voltage, V1, may be equal toapproximately 63% of the magnitude of voltage, V_(S), then a firstrelationship may be defined by equation (1) as:T _(CHARGE) =R ₃₀₈ *C1,  (1)where R₃₀₈ is the resistance magnitude of resistive element 308 and C1is proportional to a capacitance magnitude of a capacitive element(e.g., capacitive element 314).

Similarly, for example, given the magnitude of voltage, V2, is equal toapproximately 37% of the magnitude of voltage, V_(S), then a secondrelationship may be determined by equation (2) as:T _(DISCHARGE) =R ₃₀₈ *C2,  (2)where C2 is proportional to a capacitance magnitude of capacitiveelement 314. The capacitance magnitudes, C₁ and C₂, may then becalculated from equations (1) and (2), respectively, and averaged todetermine an average capacitance magnitude that is exhibited bycapacitive element 314.

Circuits 304 and 306 may be activated and deactivated by synchronizationcontroller 318. Accordingly, for example, synchronization controller 318may control when the charge and discharge events occur. Synchronizationcontroller 318 may adjust a frequency at which circuits 304 and 306 maybe activated and/or deactivated, thereby adjusting a sampling rate atwhich the capacitance magnitudes, C₁ and C₂, may be measured. In sodoing, a sampling rate (e.g., a lower sampling rate) may be selected inorder to select a power consumption rate (e.g., a lower powerconsumption rate) of a card.

Turning back to FIG. 2, a series of charge and discharge sequences forpads 202-216 may be executed to determine, for example, a relativecapacitance magnitude that is exhibited by each of pads 202-216. Aseries of charge and discharge sequences for each of pads 202-216 may beexecuted, for example, in order to obtain a capacitance characteristicfor each of pads 202-216 over time.

By comparing the time-based capacitance characteristic of each pad202-216 to a threshold capacitance value, a determination may be made,for example, as to when pads 202-216 are in a proximity, or touch,relationship with a device whose presence is to be detected. Forexample, a sequential change (e.g., increase) in the relativecapacitance magnitudes of pads 202-208, respectively, and/or pads216-210, respectively, may be detected. In so doing, a determination maybe made that a device is moving substantially in direction 222 relativeto card 200. A sequential change (e.g., increase) in the relativecapacitance magnitudes of pads 210-216, respectively, and/or 208-202,respectively, may be detected. In so doing, a determination may be madethat a device is moving substantially in direction 224 relative to card200.

Persons skilled in the art will appreciate that by electrically shortingpairs of pads together (e.g., pair 202/210, pair 204/212, pair 206/214,etc.) directional vectors 222 and 224 become insubstantial. For example,regardless of whether a device is moving substantially in direction 222or substantially in direction 224 relative to card 200, a determinationmay nevertheless be made that a device is close to, or touching, card200.

Synchronization controller 220 may be used in conjunction with and oneor more pads 202-216, for example, to determine that a device (e.g., aread-head housing of a magnetic stripe reader) is in close proximity, ortouching, one or more of pads 202-216. In addition, synchronizationcontroller 220 may determine a velocity of the detected device in eitherof directions 222 and/or 224. In addition, synchronization controller220 may determine an acceleration of the detected device in either ofdirections 222 and/or 224. Once a device is detected, synchronizationcontroller 220 may prepare, for example, dynamic magnetic stripecommunications device 228, for communications with the detected device.

Preparation for communication, for example, may include an estimate ofan amount of time that an object (e.g., a read head) may remain within acommunication distance of card 200. For example, a length of card 200may be, for example, approximately equal to 3.375 inches. Acommunication distance may, for example, be defined as any distancebetween an edge of card 200 and a detected location of, for example, aread head of a magnetic card reader within distance 234. A velocityestimate may, for example, be calculated by synchronization controller220 as a rate of change of the detected location of the read headrelative to card 200 over a period of time. The communication distancemay then be divided by the estimated velocity of the read head todetermine a communication time window that may be used by dynamicmagnetic stripe communications device 228 of card 200 to communicate tothe read head.

If, for example, a read head was initially detected by synchronizationcontroller 220 of card 200 at pad 202 moving in direction 222, then thecommunication distance may be maximized, since the read head may beestimated to be within a proximity to card 200 for nearly the fulllength 234 of card 200. The communication time window may similarly bemaximized, since the ratio of communication distance to estimatedvelocity is maximized.

Conversely, for example, if a read head was initially detected bysynchronization controller 220 of card 200 at pad 210 moving indirection 222, then the communication distance may be minimized, sincethe read head may be estimated to be within a proximity to card 200 fora relatively short distance (e.g., the distance between pad 210 and theedge of card 200). The communication time window may similarly beminimized, since the ratio of communication distance to velocity isminimized.

A velocity estimate may be computed by synchronization controller 220.For example, by measuring an amount of time that a read head moves inrelation to card 200 from one pad (e.g., pad 202) to another pad (e.g.,pad 204) and by dividing the distance that exists between pads 202 and204 by that amount of time, a velocity of the detected read head may beestimated.

A number of data bits may, for example, be communicated by dynamicmagnetic stripe communications device 228 of card 200 to an object(e.g., a read head of a magnetic card reader). For example, thecommunicated data may be magnetic stripe data (e.g., Track 1, Track 2,and/or Track 3 data) that may be communicated to a detected read head bydynamic magnetic stripe communications device 228. In addition, asynchronization sequence (e.g., a number of zeroes preceding themagnetic stripe data and a different number of zeroes trailing themagnetic stripe data) may be communicated by dynamic magnetic stripecommunications device 228 of card 200 to a read head of a magnetic cardreader.

A read head position, velocity and/or acceleration detection bysynchronization controller 220 of card 200 may result in an estimatedcommunication time window that may be used to communicate the magneticstripe data and synchronization data. Such an estimate may be calculatedby synchronization controller 220, for example, by determining that aread head may be moving in a certain direction at a certain velocity andthat the read head's position may be first detected in proximity to acertain pad (e.g., pad 208). Given that a distance (e.g., two inches)may exist between pad 208 and the opposite edge of card 200, then anapproximate communication time window may be calculated.

Accordingly, for example, synchronization controller 220 may compute anumber of leading zeroes that may precede the magnetic stripe data and anumber of trailing zeroes that may extend beyond the end of the magneticstripe data to be compliant with a communication time window as may becalculated by synchronization controller 220. A number of leading zeroesmay, for example, be selected by synchronization controller 220 toinsure that a magnetic card reader synchronizes with track informationcommunicated by card 200. A number of trailing zeroes may, for example,be selected by synchronization controller 220 to insure proper operationwith a magnetic card reader while at the same time minimizing an amountof energy required to communicate the trailing zeroes.

FIG. 4 shows a communication sequence that may include preceding zeroes402, magnetic track data 404, and succeeding zeros 406. Thecommunication sequence of FIG. 4 may be computed by a synchronizationcontroller (not shown) of a card where a minimum number of precedingzeroes (e.g., four) and a minimum number of succeeding zeroes (e.g.,four) may be selected to precede and trail, respectively, magnetic trackdata 404 during a communication sequence. A synchronization controller(not shown) of a card may, for example, determine that only a minimumcommunication time window exists and that only a minimum synchronizationsequence (e.g., a minimum number of preceding and succeeding zeroes) maybe supported by the communication time window.

FIG. 5 shows a communication sequence that may include preceding zeroes502, magnetic track data 504, and succeeding zeros 506. Thecommunication sequence of FIG. 5 may be computed by a synchronizationcontroller (not shown) of a card where a number of preceding zeroes anda number of succeeding zeroes may be selected to precede and trail,respectively, magnetic track data 504 during a communication sequencewhere the number of preceding zeroes 502 is different (e.g., greater)than a number of succeeding zeroes. A synchronization controller (notshown) of a card may, for example, determine that a communication timewindow exists that may support a synchronization sequence (e.g., anumber of preceding and succeeding zeroes) that is greater than aminimum number of preceding and succeeding zeroes that may be requiredfor a communication sequence.

Accordingly, for example, a synchronization controller (not shown) of acard may increase a number of preceding zeroes communicated to amagnetic stripe reader to insure synchronization with the magneticstripe reader. A synchronization controller (not shown) of a card maydecrease a number of succeeding zeroes communicated to a magnetic stripereader to insure synchronization with the magnetic stripe reader whileat the same time conserving an amount of power needed to maintainsynchronization with the magnetic stripe reader.

A flow diagram of communication sequences is shown in FIG. 6. Step 611of sequence 610 may, for example, detect a position of an object (e.g.,a read head of a magnetic card reader) that may be in a proximity ortouch relationship with a card. Step 612 may, for example, detectposition variations of the object over time to determine a velocity ofthe object. Step 613 may, for example, detect velocity variations of theobject over time to determine an acceleration of the object.

A communication time window may be calculated by a synchronizationcontroller on a card (e.g., as in step 614) based upon several factors(e.g., length of a card, velocity of read head movement relative to thecard, and initially detected position of a read head). In step 615, asynchronization controller of a card may, for example, determine anumber of synchronization bits that may be communicated with magnetictrack data to fit within the communication time window as may becalculated in step 614.

In step 621 of sequence 620, a communication time window may becalculated by a synchronization controller and a number of leading andtrailing zeroes may be selected in steps 622 and 623. A number oftrailing zeroes may be selected to be different than a number of leadingzeroes. A number of leading zeroes may, for example, be selected to begreater than a number of trailing zeroes (e.g., the number of trailingzeroes may be decreased from an originally selected number to aminimally acceptable number). Accordingly, for example, synchronizationbetween a card and a magnetic stripe reader may be maintained whilepreserving an amount of power that would have otherwise been expended incommunicating an unnecessary number of trailing zeroes.

Persons skilled in the art will appreciate that the present invention isnot limited to only the embodiments described. Instead, the presentinvention more generally involves dynamic information and the exchangethereof. Persons skilled in the art will also appreciate that theapparatus of the present invention may be implemented in other ways thanthose described herein. All such modifications are within the scope ofthe present invention, which is limited only by the claims that follow.

What is claimed is:
 1. A method, comprising: detecting positionvariations of a read head in relation to a card; calculating a timewindow to communicate data to said read head based on said positionvariations; selecting a number of leading synchronization bits toprecede said data; and selecting a number of trailing synchronizationbits to succeed said data, wherein said selected number of leadingsynchronization bits is different than said selected number of trailingsynchronization bits.
 2. The method of claim 1, wherein said selectednumber of leading synchronization bits is greater than a number of saidselected number of trailing synchronization bits.
 3. The method of claim1, further comprising: determining a velocity of said read head inrelation to said card.
 4. The method of claim 1, further comprising:determining an acceleration of said read head in relation to said card.5. The method of claim 1, further comprising: determining a position ofsaid read head in relation to said card.
 6. The method of claim 1,further comprising: determining a velocity and an acceleration of saidread head in relation to said card.
 7. The method of claim 1, furthercomprising: determining a position, a velocity, and an acceleration ofsaid read head in relation to said card.
 8. The method of claim 1,further comprising: determining a position, a velocity, and anacceleration of said read head in relation to said card, wherein saidposition is an estimated position, said velocity is an estimatedvelocity, and said acceleration is an estimated acceleration.
 9. Themethod of claim 1, wherein said time window is at least an estimatedamount of time that said read head will remain within a communicationdistance of said card.
 10. The method of claim 1, wherein said leadingsynchronization bits are usable by a card reader to synchronize to saiddata.
 11. The method of claim 1, wherein said leading synchronizationbits and said trailing synchronization bits are usable by a card readerto synchronize to said data.
 12. The method of claim 1, wherein saidleading synchronization bits are usable by a card reader to synchronizeto said data, and said synchronization is at least based on one selectedfrom the group consisting of a bit rate, a bit period, and a combinationthereof.
 13. The method of claim 1, wherein said trailingsynchronization bits are usable by a card reader to synchronize to saiddata, and said synchronization is at least based on one selected fromthe group consisting of a bit rate, a bit period, and a combinationthereof.
 14. The method of claim 1, wherein said trailingsynchronization bits and said leading synchronization bits are usable bya card reader to synchronize to said data, and said synchronization isat least based on one selected from the group consisting of a bit rate,a bit period, and a combination thereof.
 15. The method of claim 1,further comprising: communicating said leading synchronization bits,said data, and said trailing synchronization bits.
 16. The method ofclaim 1, further comprising: communicating said leading synchronizationbits, said data and said trailing synchronization bits within said timewindow.
 17. The method of claim 1, wherein said selecting a number ofleading synchronization bits includes selecting said number of leadingsynchronization bits based on said time window.
 18. The method of claim1, wherein said selecting a number of trailing synchronization bitsincludes selecting said number of trailing synchronization bits based onsaid time window.
 19. The method of claim 1, wherein said selecting anumber of leading synchronization bits includes selecting said number ofleading synchronization bits based on said time window, and saidselecting a number of trailing synchronization bits includes selectingsaid number of trailing synchronization bits based on said time window.20. The method of claim 1, further comprising: determining one selectedfrom the group consisting of a position of said read head in relation tosaid card, a velocity of said read head in relation to said card, anacceleration of said read head in relation to said card, and acombinations thereof; and communicating said leading synchronizationbits, said data, and said succeeding synchronization bits within saidtime window, wherein said selected number of leading synchronizationbits is greater than said selected number of trailing synchronizationbits, said time window is at least an estimated amount of time that saidread head will remain within a communication distance of said card, saidleading synchronization bits are usable by a card reader to synchronizeto said data, said card reader including said read head, and saidsynchronization is at least based on one selected from the groupconsisting of a bit rate, a bit period, and a combination thereof.